//==================================================================
/// MathUtills.h
///
/// Created by Davide Pasca - 2009/10/8
/// See the file "license.txt" that comes with this project for
/// copyright info. 
//==================================================================

#ifndef MATHUTILLS_H
#define MATHUTILLS_H

//==================================================================
namespace Math
{

u_int RandomU32();
float Random();

//==================================================================
class Vec3
{
public:
	float	x, y, z;

	Vec3()
	{
	}

	Vec3( float x_, float y_, float z_ ) :
		x(x_),
		y(y_),
		z(z_)
	{
	}

	void SetZero()
	{
		x = y = z = 0;
	}
};

//==================================================================
class Vec3i
{
public:
	int	x, y, z;

	Vec3i()
	{
	}

	Vec3i( int x_, int y_, int z_ ) :
		x(x_),
		y(y_),
		z(z_)
	{
	}

	void SetZero()
	{
		x = y = z = 0;
	}
};

//==================================================================
}

// this is ugly, but the alternative is to just not use any
// namespace to start with 8)
using namespace Math;

#endif